﻿#pragma once

class CStrategyMapData
{
	friend class CProgramDataMgr;	// 只有CProgramDataMgr能实例化

public:
	const BYTE* GetHeightBufCPtr() const { return m_pHeightBuf.get(); }
private:
	std::unique_ptr<BYTE[]> m_pHeightBuf;		// 高度图	左下为0, 0

public:
	const BYTE* GetTerrainBufCPtr() const { return m_pTerrainBuf.get(); }
private:
	std::unique_ptr<BYTE[]> m_pTerrainBuf;		// 地形图	左下为0, 0

public:
	~CStrategyMapData() = default;
private:
	CStrategyMapData() = default;
	CStrategyMapData(const CStrategyMapData&) = delete;
	CStrategyMapData& operator =(const CStrategyMapData&) = delete;

	bool ReadHeightMap();
	bool CreateTerrainData();
};